Turbo equalization is a decoding process in which two processors take turns operating on encoded information. For example, a soft output Viterbi detector may operate on the encoded data first and then a low-density parity-check (LDPC) decoder takes over using information generated by the soft output Viterbi detector. In some cases, the LDPC decoder may perform multiple (e.g., back to back) attempts before the soft output Viterbi detector takes over again, if needed. In turbo decoding, decoding ends after the second processor (e.g., a soft output Viterbi detector) has completed, not after the first processor has completed (e.g., a LDPC decoder) so that if the soft output Viterbi detector took over again, the LDPC decoder would also be used at least one more time.
It would be desirable if the overall time to convergence (e.g., related to the number of soft output Viterbi detector attempts and number of LDPC decoder attempts required to properly decode the data) could be reduced. For example, if the number of local (e.g., back to back or successive) iterations of the LDPC decoder is fixed, termination of the LDPC decoder may end too late or too early. As an example of too many local iterations of the LDPC decoder when a fixed number of local iterations is used, the noise characteristics may be such that a pass by the soft output Viterbi detector would be better than further attempts by the LDPC decoder; however, if the LDPC decoder is only on its 2nd of 10 local iterations (as an example), then the system will unnecessarily continue with LDPC decoding when it should move on to the soft output Viterbi detector. As an example of too few local iterations of LDPC decoding, suppose the LDPC decoder is on its 10th of 10 attempts. With a fixed number of local iterations, the system will switch to the soft output Viterbi detector after the 10th local iteration, but there may be only a little bit of noise and an 11th local iteration by the LDPC decoder will complete the decoding process. As described above, decoding ends after the LDPC decoder completes (not the soft output Viterbi detector) so even after the soft output Viterbi detector runs at least one more local iteration of the LDPC decoder would be performed. Since one iteration by a soft output Viterbi detector could take multiple times the processing time of one (local) iteration of a LDPC decoder, this would add noticeable and unnecessary delay. Put generally, a fixed number of local LDPC decoder iterations does not take into account individual differences due to the uniqueness of each codeword and/or the unique characteristics of noise affecting it.
New metrics for adaptive scheduling in turbo equalization are desirable. Preferably, such a metric is relatively easy to obtain or otherwise compute. For example, metrics which are mathematically intensive are unattractive because computation consumes significant processing resources and/or power.